A Library Implementation of the Nano-Threads Programming Model
نویسندگان
چکیده
In this paper we describe the design and implementation of a user-level thread package based on the nano-threads programming model, whose goal is to efficiently manage the application parallelism at user-level. Nano-thread applications work close to the operating system to quickly adapt to resource availability. The goal is to obtain an efficient parallel execution of the nanothreads by appropriately balancing the work assigned to each thread and the thread management overhead. Early experiments let us determine that the appropriate number of operations spread out among the threads to ensure less than 10% of overhead is around 800. Recent experiments show that this nano-thread granularity is fine enough to adapt easily to the system conditions, granting a reduced response time.
منابع مشابه
A Time and Memory Efficient Implementation of the Nano-Threads Programming Model
As more means to exploit parallelism are incorporated into modern processors and more programmers are exposed to them, thread-based parallel programming models gain popularity. However, this increasing interest poses new challenges to those models. They are required to efficiently support a growing range of parallelization methods on diverge systems, with an ever increasing number of threads. U...
متن کاملNano-Threads Library Design, Implementation and Evaluation
In this report we describe the design and implementation of a user-level thread package based on the nano-threads programming model, whose goal is to efficiently manage the application parallelism at user-level. Some modifications introduced to the model have enhanced its flexibility and have allowed more runtime parallelism. It is a current trend in compiler technology to apply data and contro...
متن کاملTying Memory Management to Parallel Programming Models
Stand-alone threading libraries lack sophisticated memory management techniques. In this paper, we present a methodology that allows threading libraries that implement non-preemptive parallel programming models to reduce their memory requirements, based on the properties of those models. We applied the methodology to NthLib, which is an implementation of the Nano-Threads programming model, and ...
متن کاملAnalysis of Several Scheduling Algorithms under the Nano-Threads Programming Model
In this work we present the analysis, on a dynamic processor allocation environment, of four scheduling algorithms running on top of the nano-threads programming model. Three of them are well-known: uniform-sized chunking, guided self-scheduling and trapezoid self-scheduling. The fourth is our proposal: adaptable size chunking. In that environment, applications are automatically decomposed into...
متن کاملAn implementation of the SANE Virtual Processor using POSIX threads
The SANE Virtual Processor is an abstract concurrent programming model that is both deadlock free and supports e cient implementation. It is captured by the μTC programming language. The work presented in this paper covers a portable implementation of this model as a C++ library on top of POSIX Threads. Programs in μTC can be translated to the standard C++ syntax and linked with this library to...
متن کامل